/*
 * DEV72.H Version 1.01 (C)1995,1996 HUDSON SOFT
 * HuC6272用Ｉ／Ｏポート定義 Ｃコンパイラ用ヘッダーファイル(DEV72.H)
 */

#ifndef _DEV72_H_
#define _DEV72_H_

/* define I/O port */

#define IO_KING_AR 0x0600	/* レジスタアドレス設定 */
#define IO_KING_SR 0x0600	/* ステータス */
#define IO_KING_SRL 0x0600	/* ステータス(low half word) */
#define IO_KING_SRH 0x0602	/* ステータス (high half word) */
#define IO_KING_DR 0x0604	/* データ */
#define IO_KING_DRL 0x0604	/* データ (low half word) */
#define IO_KING_DRH 0x0606	/* データ (high half word) */

/* define bit string port */

#define BS_KING_RR 0xac000000	/* ビットストリング リードポート */
#define BS_KING_WR 0xbc000000	/* ビットストリング ライトポート */

/* define register name */

/* ＳＣＳＩ */
#define _SCSI_ODATA 0x00	/* アウトプットデータ */
#define _SCSI_CDATA 0x00	/* カレントデータ */
#define _SCSI_ICMD 0x01		/* イニシエータデータ */
#define _SCSI_MODE 0x02		/* モード */
#define _SCSI_TCMD 0x03		/* ターゲットコマンド */
#define _SCSI_SELECT 0x04	/* セレクトイネーブル */
#define _SCSI_CBSTAT 0x04	/* カレントバスステータス */
#define _SCSI_DMASEND 0x05	/* スタートＤＭＡセンド */
#define _SCSI_BUSSTAT 0x05	/* バス ＆ ステータス */
#define _SCSI_PSEDMA 0x05	/* 疑似ＤＭＡ リード・ライト(IO_KING_DRH) */
#define _SCSI_TDMASEND 0x06	/* スタートＤＭＡ ターゲットレシーブ */
#define _SCSI_IDATA 0x06	/* インプットデータ */
#define _SCSI_DMARCV 0x07	/* スタートＤＭＡ イニシエーターレシーブ */
#define _SCSI_IRQRESET 0x07	/* リセットインタラプト */
#define _CDROM_SUBCTRL 0x08	/* サブコード制御 */
#define _CDROM_SUBDATA 0x08	/* サブコードデータ */
#define _SCSI_DMASTART 0x09	/* ＤＭＡスタートアドレス */
#define _SCSI_DMACNT 0x0a	/* ＤＭＡバイトカウント */
#define _SCSI_DMACR 0x0b	/* ＤＭＡコントロール */
/* ＫＲＡＭ */
#define _KRAM_ARR 0x0c		/* リードアドレス */
#define _KRAM_CARR 0x0c		/* カレントリードアドレス */
#define _KRAM_AWR 0x0d		/* ライトアドレス */
#define _KRAM_CAWR 0x0d		/* カレントライトアドレス */
#define _KRAM_DATA 0x0e		/* Ｒ／Ｗデータ */
#define _KRAM_PAGE 0x0f		/* ページ設定 */
#define _KRAM_MODE 0x61		/* モード設定 */
/* ＫＢＧ */
#define _BG_MODE 0x10		/* ＢＧ面 形式設定 */
#define _BG_PRI	 0x12		/* ＢＧ面 プライオリティ設定 */
#define _BG_MPAR 0x13		/* マイクロプログラム ロードアドレス */
#define _BG_MPDR 0x14		/* マイクロプログラム データ */
#define _BG_MPCR 0x15		/* マイクロプログラム コントロール */
#define _BG_SSCR 0x16		/* 副画面 茶筒設定 */
#define _BG_BAT0 0x20		/* ＢＧ０ 主画面 ＢＡＴアドレス  */
#define _BG_CG0	 0x21		/* ＢＧ０ 主画面 ＣＧアドレス */
#define _BG_SBAT0 0x22		/* ＢＧ０ 副画面 ＢＡＴアドレス  */
#define _BG_SCG0 0x23		/* ＢＧ０ 副画面 ＣＧアドレス */
#define _BG_BAT1 0x24		/* ＢＧ１ 主副画面 ＢＡＴアドレス  */
#define _BG_CG1	 0x25		/* ＢＧ１ 主副画面 ＣＧアドレス */
#define _BG_BAT2 0x28		/* ＢＧ２ 主副画面 ＢＡＴアドレス  */
#define _BG_CG2	 0x29		/* ＢＧ２ 主副画面 ＣＧアドレス */
#define _BG_BAT3 0x2a		/* ＢＧ３ 主副画面 ＢＡＴアドレス  */
#define _BG_CG3	 0x2b		/* ＢＧ３ 主副画面 ＣＧアドレス */
#define _BG_SIZE0 0x2c		/* ＢＧ０ サイズ */
#define _BG_SIZE1 0x2d		/* ＢＧ１ サイズ */
#define _BG_SIZE2 0x2e		/* ＢＧ２ サイズ */
#define _BG_SIZE3 0x2f		/* ＢＧ３ サイズ */
#define _BG_BSX0 0x30		/* ＢＧ０ 水平スクロール */
#define _BG_BSY0 0x31		/* ＢＧ０ 垂直スクロール */
#define _BG_BSX1 0x32		/* ＢＧ１ 水平スクロール */
#define _BG_BSY1 0x33		/* ＢＧ１ 垂直スクロール */
#define _BG_BSX2 0x34		/* ＢＧ２ 水平スクロール */
#define _BG_BSY2 0x35		/* ＢＧ２ 垂直スクロール */
#define _BG_BSX3 0x36		/* ＢＧ３ 水平スクロール */
#define _BG_BSY3 0x37		/* ＢＧ３ 垂直スクロール */
#define _BG_AFINA 0x38		/* アフィン係数 Ａ */
#define _BG_AFINB 0x39		/* アフィン係数 Ｂ */
#define _BG_AFINC 0x3a		/* アフィン係数 Ｃ */
#define _BG_AFIND 0x3b		/* アフィン係数 Ｄ */
#define _BG_AFINX 0x3c		/* アフィン係数 中心 Ｘ座標 */
#define _BG_AFINY 0x3d		/* アフィン係数 中心 Ｙ座標 */
/* ＫＲ転送 */
#define _KR_CR	 0x40		/* 転送コントロール */
#define _KR_TSA	 0x41		/* 転送データ開始アドレス */
#define _KR_TSR	 0x42		/* 転送開始ラスタ */
#define _KR_LEN	 0x43		/* 転送ブロック数 */
#define _RASTER_COUNT 0x44	/* ラスタ監視 */
/* ＫＳ転送 */
#define _KS_MODE 0x50		/* 再生モード */
#define _KS_CR0	 0x51		/* 転送コントロール ＃０ */
#define _KS_CR1	 0x52		/* 転送コントロール ＃１ */
#define _KS_STAT 0x53		/* ステータス */
#define _KS_START0 0x58		/* スタートアドレス ＃０ */
#define _KS_END0 0x59		/* エンドアドレス ＃０ */
#define _KS_HALF0 0x5a		/* ハーフアドレス ＃０ */
#define _KS_START1 0x5c		/* スタートアドレス ＃１ */
#define _KS_END1 0x5d		/* エンドアドレス ＃１ */
#define _KS_HALF1 0x5e		/* ハーフアドレス ＃１ */

#endif /* _DEV72_H_ */
